package claseBusquedas;

import org.junit.Assert;
import org.junit.Test;


public class PruebaBusquedaBinaria {

        @Test
        public void testBuscar(){
                int[] vector = new int[]{3,7,9,10,14,16,18,20,30};
                
                BusquedaBinaria miBusqueda = new BusquedaBinaria();
                int posicion = miBusqueda.buscar(vector, 16);
                
                Assert.assertEquals(5, posicion);
                
        }
        
        @Test
        public void testBuscarExtremoSuperior(){
                int[] vector = new int[]{4,76,78,89,100,120,130,140,150,155,160,171,172,174};
                
                BusquedaBinaria miBusqueda = new BusquedaBinaria();
                int posicionINI = miBusqueda.buscar(vector, 4);
                
                Assert.assertEquals(0, posicionINI);
                
                int posicionFIN = miBusqueda.buscar(vector, 174);
                
                Assert.assertEquals(13, posicionFIN);
                
        }
        
        @Test
        public void testBuscarVectorNulo(){
                int[] vector = new int[]{};             
                
                BusquedaBinaria miBusqueda = new BusquedaBinaria();
                int posicion = miBusqueda.buscar(vector, 4);
                
                Assert.assertEquals(-1, posicion);
        }
        
        @Test
        public void testBuscarValorMedio(){
                
                int[] vector = new int[]{4,76,78,89,100,120,130,140,150,155,160,171,172,174};
                
                BusquedaBinaria miBusqueda = new BusquedaBinaria();
                
                int posicion = miBusqueda.buscar(vector, 89);
                
                Assert.assertEquals(3, posicion);
        }
        
        @Test
        public void testBuscarValoresIguales(){
                int[] vector = new int[]{4,5,5,5,6,6,7,7,8,8};
                
                BusquedaBinaria miBusqueda = new BusquedaBinaria();
                int posicion2 = miBusqueda.buscar(vector, 5);
                
                Assert.assertEquals(2, posicion2);
                
                int posicion3 = miBusqueda.buscar(vector, 8);
                
                Assert.assertEquals(8, posicion3);
        }

}